The release management process is a relatively new but rapidly growing discipline within software engineering of managing software releases.
As software systems, software development processes, and resources become more distributed, they invariably become more specialized and complex. Furthermore, software products (especially web applications) are typically in an ongoing cycle of development, testing, and release. Add to this an evolution and growing complexity of the platforms on which these systems run, and it becomes clear there are a lot of moving pieces that must fit together seamlessly to guarantee the success and long-term value of a product or project.
The need therefore exists for dedicated resources to oversee the integration and flow of development, testing, deployment, and support of these systems. Although project managers have done this in the past, they generally are more concerned with high-level, "grand design" aspects of a project or application, and so often do not have time to oversee some of the more technical or day-to-day aspects. Release managers (aka "RMs") address this need. They must have a general knowledge of every aspect of the software development process, various applicable operating systems and software application or platforms, as well as various business functions and perspectives.
A release manager is:
Some of the challenges facing a software release manager include the management of:
Contents |
Agile software development methodologies have driven radically higher numbers of release events in organizations where it has been adopted. More release events have corresponded to increased pressure on release management teams and their colleagues in IT Operations to track and execute complex application release processes. Operations teams have used methodologies—such as Information Technology Infrastructure Library ITIL v3 Book: Service Transition (which contains a section on release management) to improve their release management capabilities as they relate to both business applications and internal IT services. Agile has also driven development and operations teams to collaborate more closely during production release events—this trend is referred to as DevOps.